package BinaryTree;

/**
 * @author shy_black
 * @date 2019/3/17 13:53
 * @Description:二叉树的基本操作法接口
 * 可以有不同的实现类，顺序结构，链式结构
 */
interface IBinaryTree {
    //是否为空树
    public boolean isEmpty();
    //树的节点个数
    public int size();
    //获取树的高度
    public int getHeight();
    //找到指定节点
    public Node findKey(Object value);
    //前序遍历
    public void preOrderTraverse();
    //中序遍历
    public void midOrderTraverse();
    //后序遍历
    public void postOrderTraverse();
    //前序遍历非递归
    public void preOrderByStack();
    //后序遍历非递归
    public void postOrderByStack();
    //中序遍历非递归
    public void midOrderByStack();
    //层次遍历
    public void levelOrderbyStack();


}
